package main

import (
	"fmt"
	"gin-admin/router"

	_ "gin-admin/docs"

	"github.com/gin-gonic/gin"
	ginSwagger "github.com/swaggo/gin-swagger"
	"github.com/swaggo/gin-swagger/swaggerFiles"
)

// @title Swagger Example API
// @version 1.0
// @description This is a sample server Petstore server.
// @termsOfService http://swagger.io/terms/

// @contact.name 张三
// @contact.url http://www.swagger.io/support
// @contact.email support@swagger.io

// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html

// @BasePath /sys/

// @securityDefinitions.apikey ApiKeyAuth
// @in header
// @name Authorization
func main() {
	// 创建默认引擎，带有logger 和 recovery 中间件，返回*gin.Engine(指针类型)
	engine := gin.Default()
	engine.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
	// 全局中间件
	engine.Use(func(context *gin.Context) {
		// 到达路由前执行
		context.Set("userid", 123)
		context.Next()
		// 路由执行完以后执行
		fmt.Println(context.Writer.Status())

	})
	// 初始化路由
	router.InitRoute(engine)
	// 启动http 服务,默认为8080
	engine.Run(":8090")
}
